Software developers and many software users that customize their software test the software and customizations to the software before releasing or distributing the software. The developers and entities that customize their software test their software manually or spend significant resources creating an automated test script. Several tools exist to assist in the development of test scripts including eCATT by SAP AG of Walldorf, Germany and HP-QTP by Hewlett-Packard of Palo Alto, Calif. However, these tools generate test scripts that are specific to the user interfaces of the applications that they are designed for. Even minor changes to the user interfaces of the applications that the test scripts are designed for can require significant changes in the test scripts to adapt them to the new user interface design.
The test scripts are dependent on the specific layout (object layering/hierarchy, object type, screen coordinates, etc.) of the user interfaces of the applications being tested, because they are often created by recording a set of user actions within the user interface. The actions to be performed are recorded using tracked screen coordinates or the object hierarchy of the user interface object at the position in the screen that is being utilized. This information is recorded as static information that represents the application and user interface state at the time that it is recorded.
The types of actions that are recorded by these test scripts include data input, data output and navigation actions that simulate end user interactions with the application. The automation of the testing process involves the recording of these actions in the test script. The actions can then subsequently be replayed to test an application.